package 剑指offer;

/**
 * @description:
 * @author: ywk
 * @date: 2021-04-03
 */
public class 寻找峰值 {
    /**
     * 山峰元素是指其值大于或等于左右相邻值的元素。给定一个输入数组nums，
     * 任意两个相邻元素值不相等，数组可能包含多个山峰。找到索引最大的那个山峰元素并返回其索引。
     * <p>
     * 假设 nums[-1] = nums[n] = -∞。
     *
     * @param a
     * @return
     */
    public int solve(int[] a) {
        // write code here
        if (a.length == 1) {
            return a[0];
        }
        for (int i = a.length - 1; i >= 0; i--) {
            if (i == a.length - 1) {
                if (a[i] >= a[i-1]) {
                    return i;
                }
            }
            if (i == 0) {
                if (a[i] >= a[i + 1]) {
                    return i;
                }
            }
            if (a[i] >= a[i + 1] && a[i] >= a[i - 1]) {
                return i;
            }
        }
        return -1;
    }

    public static void main(String[] args) {

    }
}
